iT邦幫忙

2023 iThome 鐵人賽

DAY 30
0

前言

經過近一個月的精心建置與努力,我們已經完成了一個簡單但功能豐富的微服務架構。這個架構不僅涵蓋了從打包 Docker 映像,到佈署 Minikube,再到建立持續集成和持續部署(CICD)的整個流程,更代表了我們在現代軟體開發中的一次深刻學習之旅。

系統架構圖

https://ithelp.ithome.com.tw/upload/images/20230821/20161653v0N2bszkIp.png

流程差別

傳統流程

  1. 修改一個專案
  2. 上傳到Github
  3. 手動發布程式
  4. 佈署到伺服器
  5. 檢查服務運行狀況
  6. 如果有錯則手動退回前一個版本

CICD流程

  1. 修改一個專案
  2. 上傳到Gitlab
  3. 啟動Gitlab CICD建置
  4. 打包Docker
  5. 上傳到Docker Hub
  6. 從Docker Hub拉取Image
  7. 佈署到Minikube
  8. 檢查服務運行狀況
  9. 如果有錯則自動退回前一個版本

環境差異

傳統環境

  • API執行在主機上
  • API使用主機環境,有可能發生環境衝突
  • API停止就停止了
  • 沒有負載平衡
  • 更新需要維護時間

服務架構

  • API執行在Minikube上
  • API使用docker,不會有環境衝突
  • API可以同時執行好幾個,並且停止會自動重啟
  • 有負載平衡
  • 更新不需要維護時間

結語

這段學習之旅對於理解現代軟體開發的核心原則和技術流程來說是極為重要的。從最初的專案修改,到微服務架構的建立,我們見證了從手動操作到自動化的巨大轉變。

透過導入 CICD 流程和現代化的微服務架構,我們不僅提高了效率和品質,也為未來的擴展和升級打下了堅實的基礎。讓我們繼續保持好奇心,持續學習,探索更多可能性,為軟體開發世界帶來更多創新和進步。


上一篇
[Day29]在本地環境使用 Kind 建立 Kubernetes 叢集
系列文
在open source環境,建置container環境及k8s(Minikube)的API佈署環境30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言